home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1993…stman Always Clicks Twice / ADC Developer CD (1993-01) (''The Postman Always Clicks Twice'')_iso / Dev.CD 199301.iso / Development Platforms / LISP Related / LISP Goodies / defsys 5.0 / doc / test-defsys.l < prev   
Encoding:
Text File  |  1992-09-02  |  4.4 KB  |  122 lines  |  [TEXT/CCL2]

  1. (in-package "CL-USER")
  2.  
  3. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  4. ;;                            Use defsystem package
  5. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  6.  
  7. (use-package "DS" (find-package "CL-USER"))
  8.  
  9. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  10. ;;                         Define directory structure
  11. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  12. ;; the binaries go into a subfolder named "binary":
  13.  
  14. (setq *relative-binary-namestring* "binary")
  15.  
  16. (defvar *ZEBU-directory*
  17.   (pathname #+LUCID "~/hpnlrw/zebu/"
  18.         #+MCL "home;zebu:"))
  19. (defvar *ZEBU-binary-directory*
  20.   (pathname #+LUCID "~/hpnlrw/zebu/binary/"
  21.         #+MCL "home;zebu:binary:"))
  22.  
  23. (defsystem ZEBU-Kernel
  24.     (:default-pathname #.*ZEBU-directory*
  25.      :default-package  "ZEBU"
  26.      )
  27.   "zebu-package"
  28.   ("zebu-aux"             :load-always "zebu-package")
  29.   ("zebu-mg-domain"       :load-always "zebu-aux")
  30.   )
  31.   
  32. (defsystem ZEBU
  33.     (:default-pathname    #.*ZEBU-directory*
  34.      :default-package     "ZEBU"
  35.      :load-before-compile ZEBU-Kernel
  36.      :needed-systems      ZEBU-Kernel
  37.      :documentation       "Run time system for LALR(1) parser"
  38.      )
  39.   ("zebu-loader"          :load-always ("zebu-package" "zebu-aux"))
  40.   ("zebu-driver"          :load-always ("zebu-loader" "zebu-package"))
  41.   ("zebu-actions" :load-always ("zebu-loader"))
  42.   )
  43.  
  44. (defsystem ZEBU-Compiler
  45.     (:default-pathname    #.*ZEBU-directory*
  46.      :needed-systems      ZEBU
  47.      :load-before-compile ZEBU-Kernel
  48.      :documentation       "Compile time system for LALR(1) parser: Converts a grammar to a parse table"
  49.      )
  50.   "zebu-oset"      
  51.   ("zebu-g-symbol"  :load-always "zebu-oset")
  52.   ("zebu-loadgram"  :load-always ("zebu-g-symbol" "zebu-oset"
  53.                   (ZEBU "zebu-loader")))
  54.   ("zebu-generator" :load-always "zebu-loadgram")
  55.   ("zebu-lr0-sets"  :load-always ("zebu-g-symbol" "zebu-loadgram"))
  56.   ("zebu-empty-st"  :load-always ("zebu-loadgram"))
  57.   ("zebu-first"     :load-always ("zebu-loadgram" "zebu-oset")
  58.             :recompile-on "zebu-oset")
  59.   ("zebu-follow"    :load-always ("zebu-loadgram" "zebu-first"))
  60.   ("zebu-tables"    :load-always ((ZEBU "zebu-loader")
  61.                   "zebu-g-symbol" "zebu-loadgram"
  62.                   "zebu-lr0-sets"))
  63.   ("zebu-printers"  :load-always ("zebu-loadgram" "zebu-lr0-sets" "zebu-tables"))
  64.   ("zebu-slr"       :load-always (ZEBU "zebu-loader"))
  65.   ("zebu-closure"   :load-always ("zebu-oset" "zebu-g-symbol" "zebu-first"))
  66.   ("zebu-lalr1"     :load-always ((ZEBU "zebu-loader")
  67.                   "zebu-oset" "zebu-lr0-sets" "zebu-follow"))
  68.   ("zebu-dump"      :load-always ("zebu-loadgram" "zebu-slr" "zebu-lalr1"))
  69.   ("zebu-compile"   :load-always ((ZEBU-Kernel t)))
  70.   ("zebu-mg"        :load-always ("zebu-compile" "zebu-dump"
  71.                   "zebu-empty-st" "zebu-closure"
  72.                   "zebu-tables" (ZEBU-Kernel t))
  73.             :compiler    ZB:zebu-compile-file
  74.             :loader      ZB:zebu-load-file
  75.             :suffixes    ("zb" . "tab"))
  76.   )
  77.  
  78. (show-system 'zebu)
  79. ;;; Run time system for LALR(1) parser
  80. ;;; Load-before-compile: ZEBU-KERNEL 
  81. ;;; Needed Systems:      ZEBU-KERNEL 
  82. ;;; Default Package:     "ZEBU"
  83. ;;; Suffixes:            ("l" . "6bin")
  84. ;;; Default Path:    #P"/d7/laubsch/hpnlrw/zebu/"
  85. ;;; Module: "zebu-loader"                       Loaded  Needs Compilation
  86. ;;;    Load-always: "zebu-package" "zebu-aux" 
  87. ;;; Module: "zebu-driver"                       Loaded  Needs Compilation
  88. ;;;    Load-always: "zebu-loader" "zebu-package" 
  89. ;;; Module: "zebu-actions"                      Loaded  Needs Compilation
  90. ;;;    Load-always: "zebu-loader" 
  91. ;;; ---------------------------------
  92.  
  93. ;; a circular system
  94. (defsystem fum
  95.     ()
  96.   ("f1" :load-after "f2")
  97.   ("f2" :load-after "f3")
  98.   ("f3" :load-after "f1")
  99.   )
  100.  
  101. (show-system 'fum)
  102.  
  103. ;;; ---------------------------------
  104. ;;; System: FUM is not loaded.
  105. ;;; Default Package:     #<Package "USER" 604753>
  106. ;;; Suffixes:            ("l" . "6bin")
  107. ;;; Module: "f1"                                Not Loaded
  108. ;;;    Source not found in #P""
  109. ;;;    Load-after: "f2" 
  110. ;;; Module: "f2"                                Not Loaded
  111. ;;;    Source not found in #P""
  112. ;;;    Load-after: "f3" 
  113. ;;; Module: "f3"                                Not Loaded
  114. ;;;    Source not found in #P""
  115. ;;;    Load-after: "f1" 
  116. ;;; Warning: Circularity: ("f1" "f3" "f2" "f1")
  117. ;;; Warning: Circularity: ("f2" "f1" "f3" "f2")
  118. ;;; Warning: Circularity: ("f3" "f2" "f1" "f3")
  119. ;;; ---------------------------------
  120.